const merchantService = require('../../../services/merchantService');
const jwt = require('jsonwebtoken'); // 导入 jsonwebtoken 库

const getMerchant = async (req, res) => {
    try {
        const merchantId = req.params.id;
        const merchant = await merchantService.getMerchantById(merchantId);
        successRes(res, merchant);
    } catch (err) {
        res.status(404).json({ error: false, message: err.message });
    }
};

const login = async (req, res) => {
    try {
        const { username, password } = req.body;
        // 检查用户名和密码是否为空
        if (!username || !password) {
            return res.status(400).json({ error: false, message: '用户名和密码不能为空' });
        }

        //这个获取到 的就是user对象
        const merchant = await merchantService.getMerchantByname(username);
        //检查用户是否存在
        if (!merchant) {
            return res.status(401).json({ error: false, message: '用户名不存在' })
        }
        //检查密码是否正确
        if (merchant.password !== password) {
            return res.status(401).json({ error: false, message: '密码错误' })
        }
        //生成token
        const token = jwt.sign(
            {
                id: merchant.id,
                username: merchant.username
            },
            process.env.JWT_SECRET2 || 'Merchantkey',
            //设置token过期时间
            { expiresIn: '72h' }
        )
        // 返回响应
        res.json({
            code: 200,
            message: '登录成功',
            data: {
                token,
                merchant: {
                    userId: merchant.id,

                }
            }
        })
    }
    catch (err) {
        res.status(404).json({ error: false, message: err.message });
    }
}
module.exports = {
    getMerchant,
    login,
};